-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Match package version in soversion #10
Conversation
Hey @lgbaldoni, thanks for this contribution and for bringing to my attention that I was doing libtool versioning wrong 🙈. I re-read the libtool documentation regarding updating
Using the above rules, I reviewed all the library release changes to re-calculate the correct libtool
Therefore, I believe that for release version |
I dug up my notes from 4 years ago. To be honest, I could never understand the rationale behind the libtool syntax too well, but if one merely wants to produce a specific soversion, this empirical formula (which I can't say is formally correct) appears to do the trick:
Hope that helps. |
Thanks for replying and for going back in time and find your notes on this PR! Much appreciated! I just found out a libtool version calculator here: https://www.pakin.org/~scott/ltver.html I reviewed again all the code changes per version and using that calculator I obtained the following
Which matches the initial table I manually calculated before. The formula you shared has one minor issue though, which is that version If I fix your formula to account for the first public version offset:
and I was to follow semantic versioning strictly, your formula and the calculator both give the following table:
My opinion is that for consistency we should use What do you think? Would you update your PR to use |
Troble is that with |
Ah, I forgot to consider that indeed. Good call. I went again to manually check the generated library filenames for all the releases of the library and they can be seen in the table below.
As can be seen, I have been doing the libtool versioning quite wrong, specially for version For library compatibility, the important thing is that the library soname remains as That being said, and to reduce confusion from libtool versionsing, I think is a good idea to adopt parity between release version numbering and the created library filename as you propose in this PR 👍. I will merge this now, thanks for the interesting discussion and keeping up with this. Appreciated! |
Right now when building the shared library, it comes out as .so.1.0.4.